package cn.bocai.pc.service.impl;

import java.util.List;
import java.util.Map;

import org.apache.cxf.endpoint.Client;
import org.apache.cxf.jaxws.endpoint.dynamic.JaxWsDynamicClientFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import cn.bocai.pc.dao.BcThumpicMapper;
import cn.bocai.pc.dao.VariableMapper;
import cn.bocai.pc.model.BcThumpic;
import cn.bocai.pc.service.BcThumpicService;
@Service
public class BcThumpicServiceImpl implements BcThumpicService {
       @Autowired
       private BcThumpicMapper BcThumpicDao;
       @Autowired
   	private  VariableMapper variableDao;
       /**
   	 * 进入首页将推荐的信息显示到轮播图上
   	 * @time 2015/07/04
   	 */
	public List<Map<String, Object>> getSelectRecommend( Map<String, Object> playMap) {
		List<Map<String, Object>> recommend = BcThumpicDao.getSelectRecommend(playMap);
		return recommend;
	}

	/**
	 * 根据传入的条件查询出收藏者的图片
	 * @author chenhao
	 * @time 2015/07/06
	 */
	public List<Map<String, Object>> selectColCollect(Map<String, Object> par) {
		return BcThumpicDao.selectColCollect(par);
	}
	
	/**
	 * 根据传入的条件查询出收藏者的彩色图
	 * @author chenhao
	 * @time 2015/07/07
	 */
	public List<Map<String, Object>> selectThumColCollect(Map<String, Object> par) {
		return BcThumpicDao.selectThumColCollect(par);
	}
	/**
	 * 查询出用户收藏的所有图片
	 * @author chenhao
	 * @time 2015/07/07
	 */
    public List<BcThumpic> selectAllThum(Map<String, Object> pagePic){
		return BcThumpicDao.selectAllThum(pagePic);
	}
    /**
	 * 根据用户收藏的信息查询出用户所对应每一条数据
	 * @author chenhao
	 * @time 2015/07/07
	 */
	public Map<String, Object> getSelectCollect(Map<String, String> collectPic){
		return BcThumpicDao.getSelectCollect(collectPic);
	}
    
	/**
	 * 搜索的总行数
	 * @param id  传递过来的用户主键id
	 * @author chenaho
	 * @time 2015/07/08
	 */
	public int searAllRow(Map<String, Object> searRow) {
		 int searAllRowAll = BcThumpicDao.searAllRowAll(searRow);
		return searAllRowAll;
		
	}
	
	/**
	 * 搜索出每一条对应的数据
	 * @param getOne 传输过来的参数
	 * @author chenaho
	 * @time 2015/07/08
	 */ 
	public List<Map<String, Object>> getSelectsearch(Map<String, Object> getOne){
		List<Map<String, Object>> selectsearch = BcThumpicDao.getSelectsearch(getOne);
		return selectsearch;
	}
	
	/**
	 * 查询出所有的略视图以便web层进行遍历查询 
	 * @param colour  传递过来班别类型的
	 * @author chenaho
	 * @time 2015/07/011
	 */ 
	public List<BcThumpic> selectHomepage(String colour){
		List<BcThumpic> selectHomepage = BcThumpicDao.selectHomepage(colour);
		return selectHomepage;
	}
	
	
	
	/**
	 * 后台查询出数据库略缩图
	 * @param colour  传递过来班别类型的
	 * @time 2015/08/02
	 */ 
	public List<BcThumpic> baSelectAll(String colour){
		return BcThumpicDao.baSelectAll(colour);
	}
	/**
	 * 后台：查询出略缩图的总行数
	 * @param colour  传递过来班别类型的
	 * @time 2015/08/02
	 */ 
	public int searRowAll(String colour){
		return BcThumpicDao.searRowAll(colour);
	}
	/**
	 * 后台：分页搜索出每组对应的数据
	 * @param getOne 传输过来的参数
	 * @time 2015/07/08
	 */ 
	public List<BcThumpic> baGetSelectsearch(Map<String, Object> getOne){
		return BcThumpicDao.baGetSelectsearch(getOne);
	}
	
	/**
	 * 后台：删除略缩数据每条
	 * @param getOne 传输过来的参数
	 * @time 2015/07/08
	 */ 
	public int delectAlone(String  id){
		return BcThumpicDao.delectAlone(id);
	}
	
	/**
	 * 后台：修改每条数据
	 * @param getOne 传输过来的参数
	 */ 
	public int updateAlone(BcThumpic bcThumpic){
		return BcThumpicDao.updateAlone(bcThumpic);
	}
	
	
	/**
	 * 测试使用
	 */ 
	public int insert(BcThumpic bcThumpic){
		int selectHomepage = BcThumpicDao.insert(bcThumpic);
		return selectHomepage;
	}
	
	/**
	 * 后台：新增一条数据
	 * @param getOne 传输过来的参数
	 */ 
	public int addInsert(BcThumpic bcThumpic) {
		int selectHomepage = BcThumpicDao.addInsert(bcThumpic);
		return selectHomepage;
	}
	
	/**
	 * 后台：校验图片的是是否存在
	 * @param getOne 传输过来的参数
	 */ 
	public String fileCheckout(String url) {
		//创建cxf服务 
		JaxWsDynamicClientFactory dcf = JaxWsDynamicClientFactory.newInstance();
		//通过webService服务地址，创建客户端
		String variableWSDL=variableDao.selectVariable("PIC_FileVer");
		 Client client = dcf.createClient(variableWSDL);
		 Object[] invoke = null;
	      try {
			 invoke = client.invoke("fileCheck",url);
		} catch (Exception e) {
			e.printStackTrace();
		}
	      String object = (String) invoke[0];
		return object;
	}
	/**
	 * 后台：监测修改新增的时候名称是否存在
	 * @param name 传输过来的参数
	 */ 
	public String checkoutName(Map<String,Object> map){
		return BcThumpicDao.checkoutName(map);
	}
	
	/**
	 * 后台：搜索数据
	 * @param map 传输过来的参数
	 */ 
	public  List<BcThumpic> searDataPic(Map<String,Object> map){
		return BcThumpicDao.searDataPic(map);
	}
	
	/**
	 * 后台：获取最后一条数据的对象
	 * @param map 传输过来的参数
	 */ 
	public BcThumpic reciprocalOne(String _parameter){
		return BcThumpicDao.reciprocalOne(_parameter);	 
     }
	
	 /**
	  * 清空数据
	  */ 
	public int clearThumPicData(String colour){
		return BcThumpicDao.clearThumPicData(colour);	 
	}
	
}
